// 函数重载：定义相同名称的方法
// 传入参数不一样:
//   - 每个参数的类型不一样
//   - 参数个数不一样
// 返回类型可以不一样
// 使用函数重载，需要先编写函数签名
// 函数实现只能有一个，并且需要覆盖掉所有函数签名的实现

// 函数签名1
function disp(string):void;

// 函数签名2
function disp(number):void;

// 函数实现
function disp(v:any) {
    console.log(v);
}

// 函数签名1
function sum(a:number,b:number):number;

// 函数签名2
function sum(a:number):number;

// 函数实现
function sum(a:number,b?:number):number {
    return a + b;
}

disp("字符串");
disp(123);
disp(true);

let r:number = sum(1);
console.log("r = ",r);

r = sum(1,2);
console.log("r = ",r);


